﻿namespace WMS6.Web.BaseInfoServiceRef
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.CompilerServices;
    using System.Runtime.Serialization;

    [Serializable, GeneratedCode("System.Runtime.Serialization", "3.0.0.0"), DataContract(Name="RoleFunctionQueryEntity", Namespace="http://schemas.datacontract.org/2004/07/WMS6.QueryEntity"), DebuggerStepThrough]
    public class RoleFunctionQueryEntity : IExtensibleDataObject, INotifyPropertyChanged
    {
        [OptionalField]
        private string CommonIDField;
        [NonSerialized]
        private ExtensionDataObject extensionDataField;
        [OptionalField]
        private string TextField;
        [OptionalField]
        private string TypeField;
        [OptionalField]
        private string UrlField;

        public event PropertyChangedEventHandler PropertyChanged;

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public string CommonID
        {
            get
            {
                return this.CommonIDField;
            }
            set
            {
                if (!object.ReferenceEquals(this.CommonIDField, value))
                {
                    this.CommonIDField = value;
                    this.RaisePropertyChanged("CommonID");
                }
            }
        }

        [Browsable(false)]
        public ExtensionDataObject ExtensionData
        {
            get
            {
                return this.extensionDataField;
            }
            set
            {
                this.extensionDataField = value;
            }
        }

        [DataMember]
        public string Text
        {
            get
            {
                return this.TextField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TextField, value))
                {
                    this.TextField = value;
                    this.RaisePropertyChanged("Text");
                }
            }
        }

        [DataMember]
        public string Type
        {
            get
            {
                return this.TypeField;
            }
            set
            {
                if (!object.ReferenceEquals(this.TypeField, value))
                {
                    this.TypeField = value;
                    this.RaisePropertyChanged("Type");
                }
            }
        }

        [DataMember]
        public string Url
        {
            get
            {
                return this.UrlField;
            }
            set
            {
                if (!object.ReferenceEquals(this.UrlField, value))
                {
                    this.UrlField = value;
                    this.RaisePropertyChanged("Url");
                }
            }
        }
    }
}

